Within the modern network space, the Synchronous Optical Network (SONET)/Synchronous Digital Hierarchy (SDH) protocol is becoming increasingly popular as a mechanism for data transport. In this respect, SDH is the European equivalent of the SONET transmission standard. Accordingly, all references in this application to SONET should be understood to also refer to SDH.
A significant amount of SONET/SDH infrastructure has been installed, particularly within the network core. This SONET infrastructure is used to transport asynchronous subscriber signal traffic having differing formats, such as Asynchronous Transfer Mode (ATM), Internet Protocol (IP), etc. In order to facilitate this functionality, various known methods are provided for mapping the asynchronous subscriber traffic into Synchronous Transfer Signal (STS/STM) frames for transport across the SONET infrastructure, and then extracting the subscriber traffic out of the STS to recover the original subscriber signal format.
FIG. 1a is a block diagram schematically illustrating principal operations of a conventional transmitting node 2 of an optical communications system. As shown in FIG. 1a, asynchronous subscriber traffic within multiple tributaries 4 is received by the node 2 and buffered in an elastic store 6. The traffic may comprise any arbitrary mix of signals, including DS-1, DS-3 and E1 traffic. Traffic within each tributary 4 is normally buffered in a respective First-In-First-Out (FIFO) buffer 8. The timing of this buffering operation is controlled by a data clock signal 10 having a frequency f1 generated by a tributary clock recovery circuit 12. A synchronizing framer 14 reads data from each FIFO 8, and maps the read data into corresponding tributaries of a number of SONET Synchronous Payload Envelopes (SPEs) 16, using a known format such as those defined in the SONET standard. Each SPE 16 is then passed to a channel transmitter (Tx) 18, which inserts the SPEs into an STS frame, and then modulates the STS frame onto an optical channel carrier 20 for transmission through the optical network. A Tx local clock 22, which is synchronous with a SONET Primary Reference 24, generates a respective TX local clock signal 26 having a frequency f2, which is used to control operation of the synchronizing framer 14 and channel Tx 18.
As is known in the art, the number and size of the SPEs 16 are selected based on the channel line rate. For example, for a channel line rate of 10 Gb/s, the synchronizing framer 14 may map subscriber traffic into a set of four STS-48 envelopes. Other combinations may equally be used, such as, for example, eight STS-12 envelopes.
Normally, a respective buffer fill signal 28 is generated for each tributary FIFO 8, and used to control the insertion of stuffing bits into the corresponding SPE tributary.
As shown in FIG. 1b, at the terminating node 30, the incoming STS 20 is decoded by a channel receiver (Rx) 32 and processed by a pointer processor 34 to demap each SPE tributary from the STS 20. Thus, stuffing bits are stripped out of each tributary, and the remaining subscriber data stored in a respective tributary FIFO 36 of an elastic store 38. An Rx local clock signal 40, having a frequency f3 which is preferably referenced to the SONET Primary Reference 24, is supplied to a desynchronizer Phase locked Loop (PLL) 42. A buffer fill signal 44 generated by the tributary FIFO 36 is used to steer the Phase locked Loop (PLL) 42, so that the PLL output constitutes a recovered data clock signal 46 having a frequency f4 which approximates the data rate of the subscriber traffic. As a result, by reading data from the tributary FIFO 36 at a timing of the recovered data clock 46, a desynchronizer framer 48 can generate a recovered subscriber signal 50 in which the original timing is closely approximated.
For cases in which the channel line rate is equal to or greater than the subscriber data rate (i.e. for f1≦f2), the introduction of idle packets to replace “missing” subscriber traffic enables the synchronizing and desynchronizing framers 14 and 48 to compensate any differences between the tributary data rate and the channel rate. However, this mapping technique suffers a limitation in that the fill signal 44 of the Rx tributary FIFO buffer 3b tends to vary in a step-wise manner as idle packets are inserted and striped from SPE tributaries. This causes timing jitter in the recovered subscriber signal 50.
In most situations, the amount of timing jitter introduced by mapping and demapping asynchronous client signal traffic to and from STS frames does not create any difficulties. However, if the timing of the subscriber signal is critical, such as an HDTV signal or a subscriber-originated SONET signal (e.g. for SONET over SONET applications) the introduced timing jitter can noticeably degrade the quality of the subscriber's signal. Accordingly, there is interest in methods that enable subscriber traffic to be transparently mapped on to SONET STS signals. An important aspect for transparency is to preserve the original timing information of the subscriber signal.
Applicant's U.S. patent application Ser. No. 09/972,686 (Roberts et al.), entitled Method and Apparatus for Digital Data Synchronization, which was filed on Oct. 9, 2001, which issued to U.S. Pat. No. 7,023,942 on Apr. 4, 2006, teaches a method of rate adapting an asynchronous subscriber signal on to SONET STS frames without incurring waiting time jitter, by measuring the phase and frequency of the (asynchronous) subscriber signal and encoding this information into the frame overhead. Thus, as shown in FIG. 2a, a multi-bit digital timing estimate (F) is calculated (at 52) to indicate the difference between the tributary data rate f1, and the Tx local clock frequency f2. In the embodiment of FIG. 2a , the timing estimate F is computed as a ratio between f1 and f2. In other embodiments, the timing estimate F may be computed as a phase difference between the subscriber data signal and Tx local clock signal, calculated at the time that a corresponding client data block is mapped into the SPE. In either case, the timing estimate F is supplied to the synchronizing framer 14 and used in place of the tributary fill 28 to control the insertion of stuff bytes into the SPE tributary. The timing estimate F is also inserted into the SUE tributary and conveyed with the subscriber data to the terminating node 30.
As shown in FIG. 2b, at the terminating node 30, the pointer processor 34 demaps each SPE tributary, and extracts the timing estimate F. The timing estimate F extracted from the SPE tributary is used in place of the elastic store fill signal 44 to steer the desynchronizer Phase locked Loop (PLL) 54. Consequently, the PLL output constitutes a recovered data clock signal 56 having a frequency f4 which more closely approximates the original frequency f1 of the subscriber traffic. As a result, by reading subscriber data from the tributary FIFO 36 at a timing of the recovered data clock 56, the desynchronizer framer 48 can generate a recovered subscriber signal 50 in which the original timing is substantially restored.
An important attribute of U.S. Pat. No. 7,023,942 is that the timing estimate F enables the transparent transport of the subscriber's original phase variations over a reasonable bandwidth (e.g. 100 Hz-1 KHz). Traditionally, waiting time jitter is reduced by narrowing the bandwidth of the desynchronizer PLL 42 (see FIG. 1b). However, very narrow filtering at the desynchronizer PLL 42 has the effect of attenuating the subscriber signal's phase variations and hence looses some transparency of the subscriber timing characteristics. U.S. Pat. No. 7,023,942 overcomes this limitation by the accurate measurement of subscriber phase/frequency at the synchronizer 2. This information is encoded within the STS frame (in the form of timing estimate F) and used to steer the desynchronizer PLL 54, which substantially eliminates waiting time jitter.
Another important attribute of U.S. Pat. No. 7,023,942 is that, unlike conventional systems, an elastic store fill signals 28 and 44 are not used to control insertion of stuff bytes at either the transmitting or receiving nodes 2, 30. This avoids problems due to the fill signals 22 and 44 containing clock noise, cross-talk from other signals, and data patterning. Instead of the elastic store fill signals 22 and 44, U.S. Pat. No. 7,023,942 uses the timing estimate F as an accurate measurement of the subscriber phase/frequency to drive stuffing at the transmitting node 2 and generation of the recovered data clock signal 56 at the receiving node 30.
A limitation of U.S. Pat. No. 7,023,942 is that subscriber signal phase and frequency information (F) is measured with respect to the Tx local clock signal 26 (FIG. 2a) at the originating node 2, whereas the recovered data clock signal 56 generated by the desynchronizer PLL 54 is based on the Rx local clock signal 40 at the terminating node 30. Ideally, both of the Tx and Rx clock signals 26 and 40 are derived from the same SONET primary reference 24, and thus will be synchronous. However, the originating and terminating nodes 2 and 30 may well be situated in different SONET islands, with the result that there may be a frequency difference (Δf) between the Tx and Rx local clock signals 26 and 40. Any such frequency difference means that the recovered data clock frequency f4 will not precisely match the original subscriber data frequency f1, and thus accurate recovery of the original timing of the subscriber signal may not be possible.
The SONET standard provides a method for frequency aligning an incoming SONET signal at a SONET network element using the payload pointers (e.g. the H1, and H2 bytes) within the Transport Overhead (TOH). These pointers provide a positive or negative word stuff of size 8*N bits for an STS-N signal. For a positive stuff, the start position of data in the Synchronous Payload envelope (SPE) is advanced by 8*N bits, and for a negative stuff, the start position is pushed back by 8*N bits. In principle, the positive and or negative stuff indications that arrive at the terminating SONET node provides a measure of the relative frequency difference between the originating and terminating nodes.
However, a pointer change (i.e. a positive or negative stuff indication) is typically generated when, at an elastic store between the synchronous write and read clocks, the elastic store fill exceeds a predetermined threshold. These pointer changes represent large phase changes in the subscriber data (equivalent to 8*N bits) and occur at a worst case nominal stuffing ratio of zero (see D. L. Duttweiler, “Waiting Time Jitter” Bell System Technical Journal, vol. 51, pp 165-207, January, 1972), which means they can induce a large jitter/wander penalty on the data payload arriving at the terminating node 30. As well, these pointer changes may have been generated by clock noise or cross-talk, due to the fact that they are driven by an elastic store fill signal.
Various methods have been proposed for reducing the jitter/wander penalty imposed by pointer changes. For example, a common method is to simply allow the large phase step due to the pointer change to occur in the Rx elastic store 38, and filter this phase step directly into the desynchronizer PLL 42 using, for example, a low-pass filter 58 (FIG. 1b). This method directly couples the pointer filtering with the desynchronizer function, which means that the pointer and desynchronizer functions cannot be optimized independently.
The publication “Analysis of Techniques for the Reduction of Jitter Caused by SONET Pointer Adjustments”, Kusyk et al., IEEE Transaction on communications, Vol. 42, pp 2036-2050, describes a “pointer leaking” method in which, when a pointer is received, bits corresponding to the pointer are leaked from a first elastic store to a second elastic store (not shown) in order to reduce the slope of the phase change. The second elastic store fill drives the desynchronizer PLL 42, via a low pass filter 58 in a conventional manner.
The publication “Waiting Time Jitter Reduction by Synchronizer Stuff Threshold Modulation”, W. D. Grover et al., Proceedings of IEEE GLOBECOM '87, vol. 1, pp 514-518, describes a threshold modulation method, which involves encoding word stuffing at the synchronizer such that a traditional desynchronizer can largely filter the frequency of the word stuffs. Again this method uses the elastic store fill 44 to drive the desynchronizer PLL 42, which again implies that the pointer and desynchronizer functions cannot be optimized independently.
As described above, prior art techniques focus on the problem of reducing the jitter imposed on the subscriber signal by pointer changes through the network. Hence the prior art does not address the problem of how to jointly optimize pointer filtering with transparent synchronizer/desynchronizer operation. Nor does the prior art address the question of how to process pointer filters for SONET over SONET applications.
Accordingly, a method and apparatus capable of accurately estimating the bit rate of subscriber traffic conveyed through a synchronous network between different SONET islands remains highly desirable.